home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Chat & Communication / Digsby build 37 / digsby_setup.exe / lib / encodings / uu_codec.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2008-10-13  |  3KB  |  99 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4. import codecs
  5. import binascii
  6.  
  7. def uu_encode(input, errors = 'strict', filename = '<data>', mode = 438):
  8.     StringIO = StringIO
  9.     import cStringIO
  10.     b2a_uu = b2a_uu
  11.     import binascii
  12.     infile = StringIO(input)
  13.     outfile = StringIO()
  14.     read = infile.read
  15.     write = outfile.write
  16.     write('begin %o %s\n' % (mode & 511, filename))
  17.     chunk = read(45)
  18.     while chunk:
  19.         write(b2a_uu(chunk))
  20.         chunk = read(45)
  21.     write(' \nend\n')
  22.     return (outfile.getvalue(), len(input))
  23.  
  24.  
  25. def uu_decode(input, errors = 'strict'):
  26.     StringIO = StringIO
  27.     import cStringIO
  28.     a2b_uu = a2b_uu
  29.     import binascii
  30.     infile = StringIO(input)
  31.     outfile = StringIO()
  32.     readline = infile.readline
  33.     write = outfile.write
  34.     while None:
  35.         s = readline()
  36.         if not s:
  37.             raise ValueError, 'Missing "begin" line in input data'
  38.         
  39.         if s[:5] == 'begin':
  40.             break
  41.             continue
  42.         continue
  43.         while None:
  44.             s = readline()
  45.             if not s or s == 'end\n':
  46.                 break
  47.             
  48.             
  49.             try:
  50.                 data = a2b_uu(s)
  51.             except binascii.Error:
  52.                 v = None
  53.                 nbytes = ((ord(s[0]) - 32 & 63) * 4 + 5) / 3
  54.                 data = a2b_uu(s[:nbytes])
  55.  
  56.             continue
  57.             if not s:
  58.                 raise ValueError, 'Truncated input data'
  59.             
  60.     return (outfile.getvalue(), len(input))
  61.  
  62.  
  63. class Codec(codecs.Codec):
  64.     
  65.     def encode(self, input, errors = 'strict'):
  66.         return uu_encode(input, errors)
  67.  
  68.     
  69.     def decode(self, input, errors = 'strict'):
  70.         return uu_decode(input, errors)
  71.  
  72.  
  73.  
  74. class IncrementalEncoder(codecs.IncrementalEncoder):
  75.     
  76.     def encode(self, input, final = False):
  77.         return uu_encode(input, self.errors)[0]
  78.  
  79.  
  80.  
  81. class IncrementalDecoder(codecs.IncrementalDecoder):
  82.     
  83.     def decode(self, input, final = False):
  84.         return uu_decode(input, self.errors)[0]
  85.  
  86.  
  87.  
  88. class StreamWriter(Codec, codecs.StreamWriter):
  89.     pass
  90.  
  91.  
  92. class StreamReader(Codec, codecs.StreamReader):
  93.     pass
  94.  
  95.  
  96. def getregentry():
  97.     return codecs.CodecInfo(name = 'uu', encode = uu_encode, decode = uu_decode, incrementalencoder = IncrementalEncoder, incrementaldecoder = IncrementalDecoder, streamreader = StreamReader, streamwriter = StreamWriter)
  98.  
  99.